#ifndef CSEDITORUNDOCOMMANDS_H
#define CSEDITORUNDOCOMMANDS_H

#include <QUndoCommand>
class CollisionShapesDocument;
class CollisionShape;

class CSEditorAbstractCmd : public QUndoCommand
{
public:
    CSEditorAbstractCmd(CollisionShapesDocument& csDoc);
protected:
    CollisionShapesDocument& m_csDoc;
};

class CSEditorCreateCollisionShapeCmd : public CSEditorAbstractCmd
{
public:
    CSEditorCreateCollisionShapeCmd(CollisionShapesDocument& csDoc, QPointer<CollisionShape> shape, bool bAdd);

    void undo();
    void redo();
private:
    QPointer<CollisionShape> m_shape;
    bool m_bAdd;
};

#endif // CSEDITORUNDOCOMMANDS_H
